#pragma once

#include <cmath>
#include <vector>
#include <iostream>

struct point_t
{
	double x,y;
	
	point_t(double x,double y): x(x),y(y){}

	point_t(const point_t& p): x(p.x),y(p.y){}

	point_t():x(0),y(0){}

	bool operator<(const point_t& p) const;
	bool operator==(const point_t& p) const;
};

int left_turn(point_t a, point_t b, point_t c);

std::istream& operator>>(std::istream& in, point_t& p);

std::ostream& operator<<(std::ostream& out,const  std::vector<point_t>& v);
